package com.groupYLP.CouponNexus.merchant.admin.service.handler.excel;

import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import lombok.Getter;

/**
 * Excel行数统计监听器
 * 该监听器用于在分析Excel文件时统计行数
 */
public class RowCountListener extends AnalysisEventListener<Object> {

    // 使用Getter注解，使rowCount变量可被外部获取
    // 初始化rowCount变量为0，用于统计Excel文件中的行数
    @Getter
    private int rowCount = 0;

    /**
     * 在每次分析Excel中的行时调用
     * 该方法在此处用于累加行数
     *
     * @param o 分析到的行数据，此处未使用
     * @param analysisContext 分析上下文，包含分析过程中的配置和状态，此处未使用
     */
    @Override
    public void invoke(Object o, AnalysisContext analysisContext) {
        rowCount++;
    }

    /**
     * 在所有数据分析完毕后调用
     * 此处未实现任何操作，因为行数统计在invoke方法中已完成
     *
     * @param analysisContext 分析上下文，包含分析过程中的配置和状态，此处未使用
     */
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        // 未实现任何操作
    }
}

